//Ginit所有代码（除了#end）最后务必加入分号，否则会造成错误;



//Ginit里所有小括号里面的字符串都不许加引号



//Ginit是实时编译的语言，所以，你在它编译的代码中间加一个alert，就可以清楚地看到alert之前已经编译好的的代码的成果，所以他不会像html语言是编译好再执行的，如果你想在最后统一显示编译内容，你可以使用:ginitCallBack()这条代码，意思是执行完的回调，括号里面需要填写JS代码，由于回调只能执行一次，所以当你重复设置:ginitCallBack()时，后面的会覆盖前面的，然后你可以加盖个遮罩，遮住正在执行的效果，然后用回调取消遮罩就好了;



//Ginit语言你可以通过.gi文件来使得Ginit编译器读取（如果你文件的后缀名不加.gi，系统会自动补全），也可以使用JS语言的ginitBuildCode方法来使得Ginit编译器读取，这里需要注意一点，每个.gi文件或者ginitBuildCode的设置的@div、@id......都是不相通的，但是ginitCallBack和html里面的东西都是相通的;



//Ginit语言里面@div方法绝对不可以设置过近，否则会造成未知错误，推荐一个gi文件里每个div只设置一次，不要重复设置



//Ginit的所有代码前面都很特殊，那就是前缀符，Ginit前修饰符是有等级排序的，等级越高，优先度越高,同等级部分不会受同等级限制，比如#start就不会受到#stop的限制，而:ginitCallBack就不会受到#stop的限制，具体等级排名如下：//（注释）最高、:其次、#第三、@第四、没有符号第五、$最后，当然#end比较特殊，他基本上除了受到//的限制之外没有限制;



//第一课-注释符号：;
//Ginit的注释符号为双斜线，不过在普通情况下，注释并不需要加双斜杠，因为Ginit编译器会自动省略掉无法被解析的内容。但是如果注释里面包含了Ginit代码，则前面必须加双斜杠，同时加双斜杠还能有效的提升代码性能;另外如果想多行注释请参考#前缀符里的#stop和#start;



//第二课-前缀冒号：;
//Ginit的冒号前缀符属于第二大的，它属于系统级前缀符，所有需要权限的都要使用系统前缀符，冒号前缀符的语句有 :javascript ::javascript :ginitCallBack :ginitDebug ::ginitDebug;


//使用:javascript和::javascript来创建一片JS代码区域，如果想在Ginit中使用JS代码，每一条代码都要加分号,大括号等包裹的是整体代码的不能加分号,大括号后面如果代码要不是属于前面大括号的整体代码的，也必需要加，例子：;
:javascript;
/*这里写JS代码*/;
function welcome(content){
    alert(content)
};//大括号里面的代码不许加分号;//大括号后面要加分号;
welcome("Welcome to use Ginit!");//普通语句也要加分号;
::javascript;


//使用:ginitCallBack()代码，以设置当Ginit编译执行完后的回调JS代码，例子：;
:ginitCallBack(alert("编译完成！"));


//使用:ginitDebug和::ginitDebug来选中一片Ginit代码为开发模式来编译，最后可以不使用::ginitDebug代码，这样就是从:ginitDebug开始之后的全部代码都为开发模式，如果到最后一句代码还没有使用::ginitDebug来结束的话，控制台会输出整体编译的信息，例子：;
:ginitDebug;
哈哈哈哈哈;
::ginitDebug;//开发模式到这里结束，所以不会判断"吼吼吼吼吼"这句代码;
吼吼吼吼吼;
:ginitDebug;//开发模式又从这里开始，直到最后编译完成;



//第三课-前缀井号：;
//Ginit的井号前缀符属于第三大的，它也属于系统级前缀符，只不过比冒号级别稍微低一点，它的代码有 #start #stop #end 这三个;


//使用#start和#stop来选取一片代码不被执行，例子：;
#stop;//停止代码执行，所以不会执行创建一个UI;
@div(body);
setUI(div);
#start;//开始代码执行;


//使用#end来结束Ginit编译代码，由于使用#end会直接结束，所以这里的例子被加了注释符号（一般我们习惯将#end做完Ginit的最后一句代码，尽管它没有任何效果），例子：;
//#end;
//记住！！！！！#end的后面请勿加分号！！



//第四课-艾特符号：;
//Ginit里艾特符号用于普通设置，并不涉及权限，它的代码有 @id @div @src @alt @value @name @class @placeholder这几个，他们都是用来设置元素的各种属性的，看名字就知道，所以不介绍了，其中@div是设置选择器的目标，id前面请加#，class前面请加.，元素选择器不用加任何内容，例子：;
@div(body);
@id(id1);
@class(class1);
//等等等等;



//第五课-无符号代码：;
//无前缀符的代码被用来设置UI，他们主要是做界面效果用的，它的代码有 setUI setDoubleCustomUI setSingleCustomUI setContent;


//使用setUI来设置UI元素，例子：;
@div(body);//选择body为目标;
@id(setUI1);//设置它的id;
setUI(div);//设置一个div;
//setUI具有这几个值：button、text、submit、file、div、span、img


//使用setDoubleCustomUI来设置一个自定义的双标记，例子：;
@id(customUI1);//这次不用设置@div了，因为之前已经设置为body了;
setDoubleCustomUI(li);


//使用setSingleCustomUI来设置一个自定义的单标记，例子：;
@id(singleUI1);
setSingleCustomUI(input);


//使用setContent来设置内容（setContent既可以设置标记，也可以设置文字）;
@div(#setUI1);//重新选择目标;
setContent(I'm Come From SetUI);



//第六课-美元符号：;
//美元前缀符的代码被用来设置和用户的交互还有样式，它的代码有 $setCss $bindClick $bindFocus $bindBlur $bindMouseover $bindMousedown $bindMousemove $bindMouseout，除了$setCss，其实大家都可以从名字看出来它们是做什么的，例子：;
@div(#setUI1);
$bindClick(alert("ouch!"));//绑定交互的代码括号里面都写的是JS代码，这里的JS代码不允许加分号;
$setCss(height,100px);//setCss代码用逗号分隔成两部分，第一部分是样式名称，第二部分是值;
$setCss(width,100px);
$setCss(background,black);
$setCss(color,white);


//最后再来一个#end完美结束;
#end